Package org.python.pydev.dltk.console

Source Code of org.python.pydev.dltk.console.ScriptConsoleHistoryTest

/**
* Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package org.python.pydev.dltk.console;

import com.aptana.interactive_console.console.ScriptConsoleHistory;

import junit.framework.TestCase;

public class ScriptConsoleHistoryTest extends TestCase {

    protected void setUp() throws Exception {
        super.setUp();
    }

    protected void tearDown() throws Exception {
        super.tearDown();
    }

    public void testScriptConsoleWithMatchingStart2() throws Exception {
        ScriptConsoleHistory c = new ScriptConsoleHistory();
        c.update("aaa");
        c.commit();

        c.update("bbb");
        c.commit();

        c.setMatchStart("a");
        assertTrue(c.prev());
        assertEquals("aaa", c.get());

        c.setMatchStart("b");
        assertFalse(c.prev()); //must cycle (will change other tests too)
        assertEquals("aaa", c.get());
    }

    public void testScriptConsoleWithMatchingStart() throws Exception {
        ScriptConsoleHistory c = new ScriptConsoleHistory();
        c.update("1. line1bbb");
        c.commit();

        c.update("1. line1aaa");
        c.commit();

        c.update("1. line2aaa");
        c.commit();

        c.update("1. line3aaa");
        c.commit();

        assertEquals("", c.get());
        c.setMatchStart("1. line1");

        assertTrue(c.prev());
        assertEquals("1. line1aaa", c.get());

        assertTrue(c.prev());
        assertEquals("1. line1bbb", c.get());

        assertFalse(c.prev());
        assertEquals("1. line1bbb", c.get());

        assertTrue(c.next());
        assertEquals("1. line1aaa", c.get());

        assertFalse(c.next());
        assertEquals("1. line1aaa", c.get());
    }

    public void testScriptConsole() throws Exception {
        ScriptConsoleHistory c = new ScriptConsoleHistory();
        assertFalse(c.prev());
        assertFalse(c.next());

        c.update("test");

        assertEquals("test", c.get());
        assertFalse(c.prev());
        assertEquals("test", c.get());
        assertFalse(c.next());
        assertEquals("test", c.get());

        c.commit();
        assertEquals("", c.get());
        assertTrue(c.prev());
        assertEquals("test", c.get());
        assertFalse(c.prev());
        assertEquals("test", c.get());
        assertFalse(c.next()); //the 'current' buffer doesn't enter the history
        assertEquals("test", c.get());
        assertFalse(c.prev());
        assertEquals("test", c.get());

        c.update("kkk");
        c.commit();

        assertEquals("test\nkkk\n", c.getAsDoc().get());
        assertFalse(c.next());
        assertEquals("", c.get());
        assertTrue(c.prev());
        assertEquals("kkk", c.get());
        assertTrue(c.prev());
        assertEquals("test", c.get());

        c.update("");
        c.commit();
        assertEquals("test\nkkk\n\n", c.getAsDoc().get());
        assertTrue(c.prev());
        assertEquals("kkk", c.get());
    }
}
TOP

Related Classes of org.python.pydev.dltk.console.ScriptConsoleHistoryTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.